Shaw's 35-yard score came late in the second period when the Trojans scored 17 points and established control of the game.
Hayes Pullard, Dion Bailey and Su'a Cravens also picked off passes for USC.
The Trojans defense limited Hawaii quarterback Taylor Graham to 16-of-41 passing for 208 yards and the Warriors had just 23 yards rushing on 31 attempts. Hawaii didn't score a touchdown until the final 30 seconds of the game.
The USC offense had trouble getting going, managing just a 23-yard Andre Heidari field goal in the first period. Hawaii led early in the second quarter after USC quarterback Cody Kessler was tackled in the end zone for a safety and Tyler Hadden made a 42-yard field goal for a 5-3 edge.
But with 4:18 to go in the half, Kessler connected with Nelson Agholor on a 19-yard scoring pass and Shaw returned his interception for a touchdown 2 minutes later. Heidari added a 52-yard field goal as the first half ended, putting the Trojans up 20-5.
Heidari had a 22-yard field goal early in the fourth period and USC pushed the lead to 30-5 with a Justin Davis 3-yard run for a score with 42 seconds to play. Hawaii's touchdown came on a 60-yard pass from Graham to Keith Kirkwood with 30 seconds to go.
Pregnant Mila Kunis wins 'Best Villain' at MTV Movie Awards
Charlize Theron not engaged to Sean Penn 'yet'