Phase shifting a noisy signal
With a real cosine a phase shift is equivalent to a time delay.  If you delay the signal by $\phi_0$ then you will get the result you want.

The number of samples that you will need to delay by will likely not be an integer number.  You can delay by a non-integer number of samples via a fractional delay filter.