Sounds like he is having a hard time coping with some big changes. At that age, its not easy to express or deal with unhappy feelings related to a move or a change in family situations. I don't know if he changed locations, but if he's in a new place that's one thing that can be hard on any kid and he's probably acting out because of it. Another thing is that I am assuming he probably came from an only child situation? And now he is thrown into a life where he suddenly has a baby sister. Its not easy for any kid to get used to having another kid around 24/7. And most kids don't have to jump right into having another toddler around either, they get to experience the baby from day one and get to watch them change and grow day to day. Plus, his parents are separated so he has to deal with that situation as well. Kids are so smart and all of these things effect them, even if you don't think they do. He's probably frustrated and confused, and irritated with it all you know? He now has to share his space with this new kid, probably his toys, his couch, his time, pretty much everything she is now there for and he has to cope with this new situation. And of course every kid gets jealous at sharing the attention they are used to getting with another kid. Its hard!
I highly doubt he's just trying to be down right mean or evil, I would bet he just needs some help getting through these changes and he will end up being okay. Sometimes my sister brings over my nephew (about to turn 1) and my son doesn't always do perfectly well with him. He tends to push him over and hurt him by being too rough. MOST of it is because he has absolutely no idea that babies that age are unstable on their feet, don't have great balance, and don't have anywhere near his strength, you know? haha so most of the time its an accident, and he doesn't understand what he's doing. Other times he is being kind of mean, or it seems that way, and what I always do FIRST is ask him why he did it "Hey, why did you push baby Jack over??" and he will answer with something like "He's not allowed to close to door; I didn't want him to ruin my legos (if he built something with them); He was blocking me from moving my car" and really all of that is so innocent isn't it??? haha, Its still not acceptable for him to do things like that but it makes me feel better about why my big boy is being "mean" to a little baby. So always try to ask him why! It will help you understand a little more what's going through his head.
Then, don't necessarily just yell at him and move on. You may not even have to yell. What I do with my son, is I say something like this "Why did you hurt baby Jack? Do you know Jack is just a little baby? Is it nice to hurt little babies? You're a big boy, and you need to be careful with babies, and you are not allowed to hurt people, because that's mean, right?" He usually responds with the right answers, too. He's a good boy. This hasn't happened to me yet, because my boy only has limited time around his cousin, but if it became a problem and happened too often I would say those things followed by "Okay well you're going to have to go in time out next time you do it, so you need to be nice" and once it got to that point, I would take him to his chair and tell him "You're taking a time out because you can't be nice to baby Jack, and that's not okay". I know that would be enough for my son, and he would learn how to act around little ones quickly enough, but I know every kid is different. Worth a try though.
Anyway, I hope he starts shaping up. Just try to get into his head and try to understand how he must be feeling and help him cope with it. Aside from that, be strong and stay consistant and he will learn that he can't be like that with her.
He'll come around, don't worry.