I think you're doing the right thing. Your son does not need to eat at night at this age. He is more than capable of sleeping through the night, you just have to teach him how. You didn't say if you were breastfeeding or not. Have you tried giving him a bottle with water in it instead of formula if you're bottle feeding? I've heard that works because the baby realizes it isn't worth getting up for. I have always breastfed, so I've never tried this personally, but it may be worth a shot for you.
As for how to accomplish your goal of changing his schedule, you may just have to work with it and try to change it by about 20-30 minutes at a time. I don't think you can change it by 2 hours all at once (from 5am to 7am). Someone mentioned that it was too early to start this method. I disagree. If you wait until they are 5 months old, they are waking up out of habit, not necessity. Once they are capable, physically, of sleeping through the night without a feeding, you should start trying to teach them to do so. My son is 2 months old and woke up at 2:30am last night. I gave him his pacifier and he went back to sleep until 6am, so I know that he doesn't need to eat in the middle of the night. I'm not starving him....he has gained 5 lbs since he was born, but I am trying to teach him early to go back to sleep without eating. I don't let him cry it out at this age and if he won't go back down, I do feed him, but I know that he has the ability to sleep through and the earlier I can introduce that sleep pattern to him, the easier it will be later.
By the way, I have a daughter who is 2 1/2 now that was sleeping 8 hours per night by 5 weeks old and 10 hours per night by 8 weeks old and she never looked back. She is a great sleeper and I can assure you, she doesn't think I'm evil for teaching her how to soothe herself to sleep! I realize this isn't typical and it usually takes much longer to get through the night, but my point is that by 5 1/2 months old, he can do it. Just stick with it for a couple of more nights and he will get it. Take it slow and go ahead and feed him at 5am if he wakes up. Try to get him to stay asleep all night and once you get him to stop waking at 2am and 4am, you can worry about getting him to sleep until 7am.
I know you're going to get lots of responses telling you that what you're doing is horrible and will psychologically damage your child forever, but try to keep things in perspective. Everyone has an opinion and not everyone is very adept at expressing it in a constructive manner. Don't let anyone bully you into changing your stance on this if this is truly what you think you should do for your child. Best of luck!