A relationship like this cannot be called a true friendship because there is no balance of power. All children need to learn how to share, take turns, and compromise, but some learn much quicker than others. Unfortunately, shy children such as your son are sometimes taken advantage of because they understand how to be a friend, and yet don't know how to request equal treatment. Developing your child's self-esteem is one way in which to encourage him to be more strong and independent. Enrolling him in programs that he finds interesting will allow him the opportunity to further develop his skill and also meet other children who share the same interest.
Kids are like adults in that they tend to choose their friends based on shared hobbies.
Your son will meet other children with similar interests and feel comfortable initiating conversation with them. This may lead to some special friendships. Offer alternatives for action to your son to practice with you. Discuss the situations and offer him praise for good decision-making. Eventually he may be able to put these scenarios into action in real life.