Voltage shift to negative range
You can use an op-amp, in a non-inverted summing configuration as I've illustrated in circuitlab here. You would simply need to provide the -2.5V for V_offset (for example using a voltage divider, precision voltage reference, or whatever). If you run a linear DC-sweep of Vin from 0 to 5V you'll see that Vout varies linearly from -2.5 to +2.5V. I've included an image of the circuit here for completeness.