Hi J.,
Are his weight and height abnormal (as in, off the charts) or is he simply below the 50th percentile? 49 out of 100 kids should be below the 50th, it does not mean something is wrong with your child.
Is he not eating because he is not hungry or because he doesn't like what you are giving him? When my son was that age, he was not a big dinner eater. He "snacked" a lot during the afternoon - I don't mean chips and cookies, I mean fruits, raw veggies, string cheese, yogurt. I think he was simply hungry for dinner earlier than we were able to eat dinner. Why waste food? Don't give him a lot. He must be eating something, since you said that you tried to send him to bed without dinner he would wake up at night - so when you don't do this, what does he actually eat?
I found that with a picky kid, if that's the issue, what can help is to give up some control no matter how hard for you. Put out an assortment of foods at dinner - a main dish and then a lot of sides. Allow him to help himself to what he wants to eat. Do not suggest he try something, beg, wheedle or even comment on what's on his plate. You may find that if you allow him control, he'll eat more and better. When I did this, I might have out chicken drumsticks, cooked corn, raw carrots, tater tots, bread with butter, some cheese cubes and melon. At first, you may have a kid who eats only bread or only cheese for dinner, but I think this helps them to figure out how to balance their meal and try new things.