I believe you need to grant user2 the execute any procedure privilege in order for user2 to execute the procedure owned by another user...