You need to :
Go in Edit mode, some normals are flipped, recalculate them
Add some edge loops so that your armature is able to bend the object:
Reparent With Automatic Weight
Bring some corrections in Weight Paint mode
Here are the principles of bone control over vertex groups:
Let's say that I have a bone called Bone1 and a vertex group called Bone1 as well. The bone will control the vertex group that has its name (if it has been parented with an Armature Deform option). Here I assign a vertex group weight of 1 to the 2 vertices on the left, and a weight of 0.1 to the 2 ...
The arms and shoulders look fairly good to me. When you pose the arm above the head you need to move and rotate the shoulder bone up, too. You can do this manually or add drivers to the shoulder bones so that they are adjusted automatically when you pose the arm.
Shoulder Clipping Driver Solution (In 2 Minutes!!!) by Royal Skies LLC - adds an extra ...