.... all of this is learned hands on.
You can read about it to him, but real life situations and how you also chat to him about it, teaches a child.
Your child is young.
Don't worry.
They are not social experts at this age.
Now: I must say that "shyness" is not something bad.
BOTH my kids were shy at that age. Most are.
So what.
Meaning, shyness is either a phase... or it is a person's personality. And, at least for my kids, I did not teach them that "shyness" is bad. But that they need to KNOW themselves, their own cues, their own personality etc. and not comparing. The thing is, I concentrated on teaching my kids to be self-assured and to know themselves, and not be a copy-cat, SO that, once they hit Elementary school, they KNEW WHO they are. I never made them feel self-conscious. About being "shy."
And they are very sure of themselves.
You see, "shyness" has nothing to do with confidence or lack there of.
Shyness, is just shyness.
And extroverted or more social people/kids, are NOT better or socially more astute, than "shy" kids.
And being a gregarious extrovert kid, is not what all kids have to, be.
My daughter, although shy, was and is, an observer, She went by her own cues. She KNOWS herself. Even at that young age when she was that age. She knew, people, very well. She was very self-assured. Although she was shy. It is to me, a "strength" of hers. And she chooses friends very well, instead of just doing what others do, via peer pressure.
Teach your son, to know himself. And don't feel that "shy" is bad.
Per your son, just teach him about facial expressions.
About tones of voice.
About feelings and HOW to say it. Does he know the words for feelings? If not teach him. SO that, he can say it.
It is NOT about teaching him how not, to be shy.
It is about teaching him about expressions, how to use words to express himself. Role play with him. TELL him the words in sentences, he can use. ie: "I don't want to play now." "I want to sit here by myself." "It is too noisy..." "thank you but I'm tired now." etc.
Just teach him, the words for how he feels, and facial expressions and how to say things. I did that with my kids since they were 2 years old. And so that, once they got to preschool and Elementary, they would know how.
It is about prepping the child.
When my son was 3, he could actually tell me how he felt accurately. Once I asked him "Are you irritated?" And he said "No Mommy... I am frustrated." He knew the differences between "irritated" and "frustrated." Even at 3 years old. Because I taught him from 2 years old. And he could also tell me things like "its too noisy here, I'm going over there in that room...." and he would go. Instead of having a hissy fit about it.
Kids this age are not social experts.
That is why, there is Preschool.
They don't even have BFF's at this age.
And again, being shy is not a "bad" thing.