Take that song by the scruff of the neck and make everyone believe you mean what you sing.
This.
I'll take a mediocre vocalist that makes me feel over a technically superior vocalist with no emotion 7 days a week.
If you're having trouble with confidence when singing, try forgetting about how it sounds for a few takes, and just focus on delivering the message of the song. What are you trying to say? Do you emphasize correctly? Etc etc...
Of course, this is somewhat genre specific and will sound better and more authentic in some genres more than others.
Other than that, yeah, sing! Every day, whenever you can. Record yourself as much as possible and critically listen to your recordings and soon enough you'll get better and better. Know your voice and limitations and adjust accordingly. With that I mean, I love a lot of old soul singers, that doesn't mean I try to copy them because I can't, I don't have the voice for it, it only sounds...well...half@ss and bad if I do. So I don't. I try to sing what I can and do it as good as I possibly can.
That's a problem with youngsters from time to time, they try to pull off something they can't and immediately go from good singer to not-so-good. You know when some singers on tv (Idol etc) are in fact really good singers, but they go for that Whitney Houston or Mariah Carey song, and they don't pull it off, they instantly ruin their whole performance and also how we perceive them, unnecessarily I might add. So, very important, be you and make people love you for that, don't copycat because no one will love you for it.
Moral of the story, with the voice you've been given, do what you can and learn to do it well. It'll take you a long way.
Hope it helps!
/Peter