The stretches in the book "Treat Your Own Rotator Cuff" by Jim Johnson helped me quite a bit. The book spells it out and has a good progression through easier to harder variations, but it's pretty simple really.
4 stretches, each for 30 seconds, 5 days a week. One is overhead, one is across the body, one is internal rotation, one is external rotation.
First is an overhead reach, where you face the wall, put your arm overhead with your forearm/elbow against the wall, and press your body to stretch your arm upwards at the shoulder. Hold for 30 seconds. You're (gently) forcing your shoulder to stretch as straight overhead as your body can handle.
Then with your arm straight, bring it across your body, stretching the backside of your shoulder. Hold for 30 seconds.
Third is an internal rotation stretch. Basically the same idea as trying to touch your hands behind your back. Put one hand behind your low back, hold a towel, and gently pull that towel upward with your other hand. Hold that for 30 seconds. (I usually skip this stretch, because internal rotation isn't much of a problem with the posture you described.)
Fourth is an external rotation stretch. Arm straight out to the side, then make a right angle at the elbow, bringing your hand up and forearm facing forward. Put that against a wall or doorframe. Then pretend that you're trying to reach for something on the floor a few feet ahead of you. Basically, lean your body forward so that your arm rotates at the shoulder, pushing your hand behind the plane of your head. The elbow should stay straight out from the body; you want rotation only. Hold that for 30 seconds.
I'd do that for a couple weeks, and see where it takes you.