Help with Sarvangasana

I have been practicing Iyengar Yoga on and off for several years now and have always had problems with Sarvangasana. In class, we always practice it using a support made up of several foam blocks, with our head and neck coming down to the floor. My problem is that because of my stiff shoulders, I cannot achieve a good base. This makes staying in the pose for any length of time quite unpleasant.
I find that if I try and clasp my hands to together behind my back and straighten my arms (as in Halasana) they are nowhere near reaching the support of the blocks, instead sticking obliquely upwards. If I rest my upper arms on the floor and support my back with my hands, I find it almost impossible to prevent my arms splaying out to the sides. Use of a belt helps keep my arms together but I have been warned against becoming too reliant on it.
My teacher has recommended raising my support so my shoulders are further from the floor but I have found that this actually makes things worse (i.e. more difficult to get my arms down firmly on the support). Overall this means that holding myself upright and straight is very difficult. In contrast, I feel much more comfortable in Sirsasana and can hold it much longer.
Does anybody have any ideas on what I can do to improve my base for Sarvangasana? I have been told it has many benefits and am keen to master it. Perhaps there are some exercises I could do to open up my shoulders so that I could get them down more easily behind me? Apologies for the long post, I would be super grateful for any help!