When you decide to get a dog.... you are adding to your family. You can't know what that pet is going to be like. They all have personalities. They have feelings, and you get what ever they are!
Only you know how you truely feel about this little guy. If this is not the pet for you, rehoming is a good answer as long as you find some one who will except him for who he is. This is not to say you are a bad person. it is better for you to rehome thinking of the dog's best interest, then to keep him they way things are. But if you LOVE this little boy, and you truely want to make it work, find some one who can help assess this boy and help you to decide how to help him. I'm sure there are things you can do to help him become a more confident, loving pet. In any case please help this baby have a better life.