M.F.
I can totally understand how you got to this point! The short answer is...just cook one meal. He will not starve himself. At 4, he will certainly hold out longer than he would have at 2, but he won't starve. Granted, you can't expect much if you serve smoked salmon with asparagus and crabcakes, but ease him into it gradually :-). Start this new venture with a meal he loves that the whole family eats. Maybe even have 2 or 3 of "his" meals in a row. Make a comment at some point about how nice it is for the whole family to eat together. Then maybe change up the next meal - grilled chicken with broccoli -- but throw in some mac n cheese for his sake. (also, we let our 4 yr old dip things in ranch dressing or something -- works every time for broccoli). Again, you guys take some of everything, and serve him some of everything. Don't say a word to him about how much to eat or whether he eats. If he protests, you can say, "I understand you may not like it, but take what you need to make it to the next meal." I also use this like a lot: "We sure enjoy your company at dinner time, would you stay and talk with us?" Ask him about his day, his favorite movie, have him count to 30, recite the alphabet, whatever. All the while, you're cleaning your plate. Some different things could happen here. He could be disruptive or he could stay at the table peacefully. If he's disruptive, he needs to leave the table. We send ours (ages 4 and 2) to their rooms if they're disruptive at the table. The options are that we can have a peaceful meal together, or a peaceful meal without them.
He could stay at the table end enjoy your company and not touch his food again, or simply being at the table might cause him to pick at what's in front of him. Still, don't say a word about what he is or isn't eating other than "take what you need to make it to the next meal..."
I'd make a couple more meals like this and see how he does. If you really want to drive it home, you can pull out the dessert while y'all are having fun chatting with him. He will want some, of course, but you'll have to say no, but in a positive way! "I would love to give you some ice ream when you finish your dinner." If he doesn't want to finish dinner, you can say, "That's fine. Maybe you can have some after tomorrow's dinner. Would you like to stay and chat with us more while we have ice cream, or would you rather play in your room/play outside/take a bath?"
You have to stick to your guns if he doesn't eat a meal. There will be no bed time snacking, no dessert, etc. If he complains that he's hungry you can say empathetically "I undertand....I'm hungry too when I don't eat much dinner. That's ok though. I'll fix you a big breakfast in the morning." I swear my little bird-like eater will scarf down eggs, toast and bacon the next morning after skipping dinner.
It really is possible for kids to eat regular meals. Our 4 yr old can hold out longer than our 2 yr old (he might skip one meal where she might barely pick at meals for a couple days), but in the end, they will eat when they're hungry. In fact, they have eaten salmon and asparagus!!