He doesn't necessarily need a bath, he'll clean up on his own. You could wipe him down with a damp cloth if it's really bothering you.
I think there are two food-related reasons for this:
the first is when you feed a cat a low-quality food, they tend to have slightly smelly oily coats.
the second is *when you switch from a low-quality food to a high-quality food, their little bodies detox and the body adjusts to having better nutrition, and an oily coat is a part of this. It should subside with time.
As with any weird symptom, make sure you watch him closely for anything else that could indicate a different problem (behavior changes, litterbox problems, etc).
*I think it's this one.