It is possible your child is suffering from severe social anxiety - selective mutism. You might wish to check the best site on the internet "selectivemutism.org" for more information. If the behaviours described are similar to your son, I urge you to seek treatment as soon as possible. By the way, a child who is shy is able to function; a child who suffers from anxiety is not able to function i.e. eat in public, use public washrooms, speak, participate, even yell "help" in public if in trouble, etc. From your description, it appears that your son is not able to function in a social setting.
I belong to a support group for teachers and parents of children suffering from anxiety and if this is the issue, I assure you that the anxiety will not go away nor will your son outgrow it. I do know that children three and four years of age can learn to manage their fears in months; older children at six and seven years usually take years to manage their fears. Teenagers seem to be especially resistant to treatment. It might be wise to speak to your son's pediatrician and, if necessary, ask for a referral to a person with experience in treating anxiety disorders. I wish you the best ...
It is not a behavioral issue. Some children, like your son, are shy by temperament. He is very young, and it's reasonable at this age to encourage him and continue to expose him to social situations, but do not presssure him to interact beyond what he is capable of right now. As he develops further you will see what unfolds, and don't be surprised as he gets into preschool and other school situations if he warms up to the social situation. While he may always be somewhat shy, he may well interact in a way that can be regarded as normal. He needs your support and encouragement, so try to maintain your equanimity and please do not regard his behavior as a behavioral problem.