L.P.
There are a couple of things you can do - sorry if this gets kinda long.
First, when he isn't doing what you asked, completely ignore him and make him do it. Like if you say get your shirt and he says no. You walk him over to the shirt and put it in his hand and walk him back to where he was, make him had it to you like he had actually done it. But say nothing until he hands it to you and then say "thanks sweetie for being so helpful". This will teach him that he doesn't get to make those decisions. And just guide him through the actions.
Or, You can always turn the tables, so if he is trying to get attention ignore him. When he asks for something like food or milk, then give it to him but don't talk to him or create positive conversation.
Or and this is what my friend did after the first two didn't work, and her daughter was hitting her teacher at school, they said ok, when you get home you will get a spanking if you hit your teacher or anyone else. Then if she did it, they didn't mad about it, and she tested them the first two days, after that, she figured out that if her parents said they were going to do something they did. This last one I do believe is definately that last thing to do after everything else has been exhausted. Good Luck!