How to pose FPS armature so it holds a gun

I have an FPS armature and mesh that I made. I’m trying to pose it so that it holds a rifle, and it turns out like this.

I rotated the armature so that the left hand can actually reach the barrel of the gun and still look natural while not having the stock of the gun go through the arm. But when I go into camera view, the life shoulder is almost in the camera view, which I think might cause problems later on when I start making animations.

So when I rotate the armature a little bit less, the gun ends up going through the arm, or the arms look really unnatural.

How do I fix this? Is this a problem with the scale of my gun, like maybe it’s too big? Is it my camera view (it’s at 90 degrees field of view) that I need to change, or is the gun going through the mesh completely normal?