The motor shield may have a jumper that connects the motor driver chip to the Arduino's 5V.
If you do not remove this jumper and you connect 9 or 12V to the Motor Power Input, you'll be applying this directly to the Arduino's 5V buss and fry it. If you have not removed the jumper and haven't fried your Arduino, it is probably because a small rectangular 9V battery can't supply much power.