Read about SPI and the Leonardo, http://arduino.cc/en/Main/arduinoBoardLeonardo, http://arduino.cc/en/Main/arduinoBoardLeonardo
The ICSP header has the SPI signals, they are not on the normal pins.
Your SD shield should have a 6-pin socket for the ICSP header.
Which SD shield are you using ?
The pin numbers in the Sd2PinMap.h are the pin number of the ATmega32U4 chip, those number are NOT the Arduino pin numbers.
See this pin mapping, http://arduino.cc/en/Hacking/PinMapping32u4