Hi Ellen,
My (now 20 yo) daughter was exactly that way when she was that age. She was so shy she only liked me and her babysitter, NOT even her father! She wouldn't let ANYONE else pick her up, not her grandparents, not anyone else she knew from church, no one.
If I left her sight, she'd SCREAM! Not just a little whimper and get over it, but a scream that didn't stop until I calm down until I came back.
Everyone told me that she would "get over it" and that I should just "let her cry it out" but my heart told me otherwise. I would never let her do that. I felt that if she felt that she needed me, then I would be there for her. I wanted her to have the security she needed that I was there for her always. Everyone told me I was spoiling her, but I just wouldn't listen.
As she got older and could talk, she would sometimes not respond when people spoke to her, and at that time I had a game I played with her. I told her that talking to people is like "playing ball" When a person throws you a "ball", such as "Hello, Anna, how are you?" then you throw the "ball" back and say, "I'm fine, how are you?" and so on, continuing to throw the ball back and forth. I told her that it was okay to be shy but it was NOT okay to be rude.
As she grew, I gave her exercises in being independent and doing things for herself, such as asking for what she needed at a restaurant or calling on the phone for information. As a teen, I had her call to make her own doctor appointments and such.
She is today the most confident young woman. She is independent and self-sufficient. She is a terrific student and has lots of friends and is also working as a waitress part-time while being sophomore in college. She got into a university that only accept 16% of their freshman applicants.
So, follow your heart. Right now, he is little and needs his space. He may always be shy, but if you support him and help him be friendly and self-sufficient now and as he grows, he may one day surprise you. Don't worry.