My suggestion is to read BabyWise. I'm telling you, it was a life saver for me!
If he is only eating one ounce at 3am, 4am, and 5am, then he's not really hungry, he just eats because there's a bottle in his mouth. My advice for that would be to wait a good 5 minutes after he fusses, and see if he doesn't settle back down on his own. He might just be sleeping lightly and fussing in his sleep, and given the opportunity, he might fall into a deeper sleep. I know it's hard, but watch the clock for 5 minutes. If he doesn't ramp up and get really upset, leave him be. If he is still fussing after a full 5 minutes, go see what's wrong. Could even be changing his diaper and giving him a pacifier might work.
My other suggestion is to put him to bed for the night at 6pm. I know that sounds crazy, but babies' internal clocks are wired differently from ours, and 6pm is the magic time when babies can fall asleep and sleep for a LONG time. Make sure you're not feeding him to sleep (don't allow him to fall asleep while you feed him - change his diaper, undress him, whatever you have to do to get him to stay awake for a FULL meal). With a big, full meal in his tummy, he can probably sleep for 4 hours at a stretch. At this age, he might wake at 10pm (again, same drill, make sure he doesn't fall asleep until he is really, truly full), and again at 2am. Within a few weeks, he will drop the 2am feeding. My little ones were sleeping 12 hours straight through by a bit over a month old following this method, eating like champs, and gaining weight right on schedule. The best part was, we all got a good night's sleep, which made the next morning SO much better. :)
Good luck!