Just to add a +1 to what was saying. Have a look at the setup in shootergame as an example. You have THREE skeletal mesh objects. One is the third person player skeleton, the other is the first person arms mesh, the third is the weapon mesh itself. Weapon gets parented to the arms, which are set to only show in first person. Everyone else in the game sees the third person mesh with the correct weapon attached.
It gets a little complicated because you have to synchronize all those animation blueprints to do the correct things (firing anims on all three for example).