How to Shift Carrier Frequency in QAM Signal?
I am not sure what the phrase to correct frequency offset in the 
title of this question means. Does it mean that the carrier frequency 
is supposed 
to be \$10\$ MHz but actually is \$10.001\$ MHz, that is, off by
\$1\$ kHz, and what is wanted is a method to fix this problem? If so,
the method described below will not work.

Frequency translation by substantial amounts, e.g. changing a
\$10\$ MHz to, say,  \$455\$ kHz, is generally accomplished by
heterodyning or mixing the signal with another carrier signal at
a different frequency
and bandpass filtering the mixer output.
Suppose that the QAM signal at carrier frequency \$f_c\$ Hz
is 
$$x(t) = I(t)\cos(2\pi f_c t) - Q(t)\sin(2\pi f_c t)$$
where \$I(t)\$  and \$Q(t)\$ are the in-phase and quadrature
baseband data signals. The spectrum of the QAM signal occupies
a relatively narrow band of frequencies, say, 
\$\left[f_c-\frac{B}{2}, f_c+ \frac{B}{2}\right]\$ centered
at \$f_c\$ Hz. Multiplying this signal by \$2\cos(2\pi\hat{f}_ct)\$
and applying the trigonometric identities

$$\begin{align*}2\cos(C)\cos(D) &amp;= \cos(C+D) + \cos(C-D)\\
2\sin(C)\cos(D) &amp;= \sin(C+D) + \sin(C-D)
\end{align*}$$

gives us

$$\begin{align*}
2x(t)\cos(2\pi \hat{f}_ct)
&amp;= \quad \left(I(t)\cos(2\pi (f_c +\hat{f}_c) t) - Q(t)\sin(2\pi (f_c+\hat{f}_c)t)\right)\\
&amp;\quad +\  \left(I(t)\cos(2\pi (f_c-\hat{f}_c)t) - Q(t)\sin(2\pi(f_c- \hat{f}_c)t)\right)
\end{align*}$$

which is the sum of two QAM signals with identical data streams
but different carrier frequencies shifted up and down by \$\hat{f}_c\$
Hz from the input carrier frequency \$f_c\$.   The frequency
spectra of these two QAM signals occupy bands of width \$B\$ Hz
centered at \$f_c+\hat{f}_c\$ and \$f_c-\hat{f}_c\$ respectively, 
and if

$$f_c-\hat{f}_c + \frac{B}{2} &lt; f_c+\hat{f}_c - \frac{B}{2}
\Rightarrow \hat{f_c} &gt; \frac{B}{2},$$
then bandpass filtering can be used to eliminate one of the
two QAM signals while retaining the other. Needless to say,
if the frequency shift is much
larger than the QAM signal bandwidth, that is, if 
\$\hat{f}_c \gg B/2\$, then the task of designing
and implementing the bandpass filter is easier. Note
also that this method cannot be used to correct
small frequency offsets because the two QAM signals
produced at the mixer output will have overlapping 
spectra and cannot be separated by filtering.