That sounds awful!
I think you are absolutely right when you say "I cannot accept dh's behavior and since he is the adult and parent he has to immediately modify his behavior," but it sounds like it isn't working the way you want.
Does your husband understand that someday soon your son will be too big to forcibly move around?
Does your son have any ideas about improving the relationship?
I think it is VERY important for you to stand up for your son. I would start by looking for ways to minimize interaction between the two of them. I would also physically intervene when shouting and grabbing are imminent.
I think it is just wrong, wrong, wrong for people to treat other people the way that your husband is treating your son.
You also said that "Ds is challenging and does do things to purposely irritate dh (does with me also, but not as much)" and I wonder if your son sees it the same way that you do. I'm betting that he is more interested in establishing his own personal boundaries and autonomy than purposely irritating you...
Have you tried talking to him (when you're both in a good mood) about what is difficult, to see if he can help you find a solution?
You might all benefit from some breathing room. Maybe focus on spending time alone, or two on two, instead of altogether.
I hope something here helps! It sounds like you're stuck in the middle of a nasty power struggle. Good luck.