The modulation property of the Fourier Transform states that given a continuous time domain function $x(t)$ with Fourier transform $X(f)$, the function
$h(t) = e^{j 2\pi f_0 t} x(t)$ has the Fourier transform $X(f-f_0)$ (i.e. shifted by $f_0$ in the frequency domain):
$$
\begin{align}
e^{j 2\pi f_0 t} x(t) \overset{\mathcal F}\Longleftrightarrow X(f-f_0)
\end{align}
$$
Similarly for a discrete time signal $x[n]$ with period $N$ and Discrete Fourier Transform $X_k$ (under an $N$-point DFT), the equivalent relation is:
$$
\begin{align}
e^{j 2\pi \frac{m}{N} n} x[n] \overset{\mbox{DFT}_N}\Longleftrightarrow X_{k-m}
\end{align}
$$
As you might have noticed, these expressions multiply you original time-domain signal by a complex term, which gives you a complex valued time-domain signal. If you want a real valued time-domain signal, you would actually need to construct a combination of a signal frequency shifted by $m$ with another one frequency shifted by $-m$. This can be carried out in the time-domain by multiplying the signal by $\cos(2\pi\frac{m}{N} n)$.