To be good at small talk, you need to be an interesting person. By that I mean you must cultivate outside interests so that you have something to talk about. Go to museums and movies, read books and the daily paper, try new restaurants, travel, develop a hobby. When you find yourself in a small talk situation, listen actively to the speaker and then try making a comment about a similar experience you've had. Then ask another question.
Small talk is really nothing more than listening and asking questions.
The point is not to talk, but to draw the other person out and learn about them. Orchestrate the conversation, don't monopolize it. Shyness and social anxiety can take many forms. But the best way to fix those problems is to stop thinking about the negative impressions others might be forming of you and focus on thinking positively about your audience. Look at them, read their nonverbal signals and ask more questions.