$$ x_\mathrm{new}(t) = I_\mathrm{new}(t)\cdot \cos(2\pi f_0 t) - Q_\mathrm{new}(t)\cdot \sin(2\pi f_0 t) $$$$ x(t) = I_\mathrm{new}(t)\cdot \cos(2\pi f_0 t) - Q_\mathrm{new}(t)\cdot \sin(2\pi f_0 t) $$
By use of this approach you can receive the signal at the carrier frequency $f_c+f_\Delta = 500\:$MHz, perform quadrature down-conversion as normal, and the apply the above technique to modify the effective carrier frequency by using e.g. $f_\Delta = 100\:$Hz or whatever. As shown above you do not need to demodulate the signal and the conversion can be applied to any signal and be handled at baseband. Depending on the actual application, which is not known from the question, it may not be allowed to use the above. You can extract the original $I$/$Q$ signals directly from $x(t)$ if this signal is quadrature down-converted with the carrier frequency $f_c$. If you quadrature down-convert $x(t)$ with a locally generated frequency of $f_0$ you extract $I_\mathrm{new}(t)$/$Q_\mathrm{new}(t)$. If you have $I_\mathrm{new}(t)$/$Q_\mathrm{new}(t)$ you can reconstruct $I(t)$/$Q/t)$ from the above equations (solving two equations with two unknowns).
One thing to remember, though, is that the requirement to sampling frequency increases as the bandwidth of the "new" signal is wider than the original signal. In case of a $100\:$Hz offset this is likely not a big issue but it obviously depends on the bandwidth $B$ of the original baseband signal. The conversions above do not require expensive
If the problem is more in the direction of RX a signal at one carrier and possibly distortingrelaying to TX the same signal at another frequency then some other technique should be applied. An obvious technique is to quadrature down-convert and then just quadrature up-convert to the desired offset carrier. Also a translational loop combined with amplitude information can be applied. The translational loop filters the phase part of the signal. If further filtering is needed depends entirely on the required spec.