Lo que quieres hacer no suena particularmente bien y tal vez deberías pensar en rediseñar esos 2 procesos. Sin embargo, podría hacer algo como esto como una solución rápida:
obtenga su sproc sp2 para escribir sus resultados intermedios en una tabla temporal a la que luego puede acceder/procesar dentro de sp1. Luego puede eliminar la tabla temporal que creó en sp2 una vez que sp1 regrese.
delimiter ;
drop procedure if exists foo;
delimiter #
create procedure foo()
begin
create temporary table tmp_users select * from users;
-- do stuff with tmp_users
call bar();
drop temporary table if exists tmp_users;
end #
delimiter ;
drop procedure if exists bar;
delimiter #
create procedure bar()
begin
-- do more stuff with tmp_users
select * from tmp_users;
end #
delimiter ;
call foo();
no es muy elegante pero debería funcionar