A Perfect World

In 1963 Texas, convicts Robert "Butch" Haynes (Kevin Costner) and Jerry Pugh (Keith Szarabajka) escape from the state penitentiary in Huntsville. Fleeing, the pair stumble into a house where eight-year-old Phillip Perry (T.J. Lowther) lives with his devout Jehovah's Witness mother and two sisters. Needing a hostage to aid their escape, Butch grabs the boy, who meekly accompanies them. The trio's journey starts off on an unpleasant note as Butch shoots Jerry, following the latter's attempt to molest the child. With his partner out of the way, the convict and his young victim take to the Texas highway in a bid to flee from the pursuing police.
Meanwhile, Texas Ranger Red Garnett (Clint Eastwood), riding in the Governor's airstream trailer, is in pursuit. With criminologist Sally Gerber (Laura Dern) and trigger-happy FBI sharpshooter Bobby Lee (Bradley Whitford) in tow, Red is determined to recover the criminal and the hostage before they cross the Texas border. Also, Red reveals to Sally that he has a personal interest in apprehending Butch alive. Even though Butch doesn't realize it, Red has a history with him. When Butch was a teenager, he stole a car, and Red was the arresting officer. Due to his age and it being a first offense, Butch was supposed to get a lenient sentence. Red feared doing so would not teach him anything and would only encourage him to begin a life of crime. He thought that if Butch got a harsher sentence, it would scare him straight, so he bribed the judge to make it happen. Years later, Red has come to realize that the harsher sentence only encouraged the very life of crime he feared would happen. Now, Red is hoping that if he can bring Butch in alive, he can redeem himself for his past mistake.
Phillip, eight years old, has never participated in Halloween or Christmas celebrations. Escaping with Butch, however, he experiences a freedom which he finds exhilarating, as Butch gladly allows him the kind of indulgences he has been forbidden all along, including the wearing of a shoplifted Casper the Friendly Ghost costume. Gradually, Phillip becomes increasingly aware of his surroundings, and with constant encouragement from Butch, seems to acquire the ability to make independent decisions on what is wrong and right. For his part, Butch slowly finds himself drawn into giving Phillip the kind of fatherly presence which he himself never had.
Butch and Phillip try to make it to New Mexico, but find out that the highway they are driving on is unfinished. While asleep in their car in a cornfield, they encounter Mack, a farmer and his family, Lottie his wife, and his grandson Cleveland. Mack frequently abuses Cleveland, which Butch tries to tolerate, but when they figure out who he is, he puts a stop to it. He beats Mack and plans on killing him, but Phillip takes his gun and shoots him in the stomach. Then he gets out of the house, drops the gun into a well, throws the car keys away and runs across a meadow. Butch follows him and rests at the tree Phillip has climbed. In the following dialogue Phillip apologizes for shooting Butch who tells him he did the right thing.
Red's team surrounds the place where Phillip and Butch are situated, the latter sending the boy away to his mother, who is with Red's team. Unwilling to leave the already wounded Butch, the boy runs back and hugs him â a gesture which, along with his knowledge of Butch's character and background, convinces Red that he can resolve the situation peacefully. His plans are thwarted, however, when Bobby Lee, mistaking one of Butch's gestures to suppose he is about to draw a gun, fires a shot into his chest and kills him. The move leaves Red angry and frustrated at his inability to save Butch and take him alive. Red punches Bobby Lee and walks away. Phillip is reunited with his mother, and the two of them fly away in a helicopter.

Question: Who shot Mack in the stomach?
Answer: Phillip