You are dealing with a man child. He is acting like a sulky teenager. I have a DH like this. If I tip toe around him, which I did for years, he will be grumpy, rude, extremely unpleasant to be around. Every was my fault, he took no responsibility.
But I have found, that if I stand up to him. Not argumentative, but explain that the way that he is "behaving unacceptably and I do will do this and I expect him to do that".
Basically, I am a teacher and I treat him like one of my pain in the arse students. Don't get into an argument, keep emotion out of it and point out the correct way to act.
Fucking hell it is exhausting - but it works! It is ridiculous that I have to treat my husband like that, but it works! We have a child and I am prepared to do this to keep our family together. It is the choice that I have made and for the most part we are happy. Since I started this (after much consideration of leaving him), the arguments have reduced dramatically and he is much more pleasant. (Maybe some of it was my fault after all - and not him being a total arse, which he was imho!)
You can not carry on like you are. You have to make a plan for the future: money, ways of dealing with the situation, possible escape. But don't be a doormat for him to whinge and think that it is normal. Your current situation is not healthy nor sustainable. Walking on eggshells will destroy you (and your child) over time.