Bend the pins so they don't fit in the slots. Solder wires to the pins, and to two other pins, and use the two other pins in the SoftwareSerial instance setup.
I am quite confused on how to change the default pins to other pins in the arduino. The GSM library is the one which creates the SoftwareSerial. Diving into the code, in file GSM3SoftSerial.h I found this:
// An adaptation of NewSoftSerial for Modem Shields
// Assumes directly that Serial is attached to Pins 2 and 3, not inverse
// We are implementing it because NewSoftSerial does not deal correctly with floods
// of data
and GSM3SoftSerial.cpp
#if defined(__AVR_ATmega328P__)
#define __TXPIN__ 3
#define __RXPIN__ 2
#define __RXINT__ 3
#elif defined(__AVR_ATmega2560__) || defined(__AVR_ATmega1280__)
#define __TXPIN__ 3
#define __RXPIN__ 10
#define __RXINT__ 4
#elif defined(__AVR_ATmega32U4__)
#define __TXPIN__ 3
#define __RXPIN__ 8
#define __RXINT__ 3
#endif
I think changing the values to i.e. 5 and 6 would make it. This might be a stupid question: the pin numbers specified must be always the ones of the arduino and not the shield, right?
If I modify the .cpp file, the IDE will be aware and will recompile it or should I do something special?