You effectively want a interpolated waveform that is interpolated by 200,000 such that for each new sample with the 5 ppm offset you can select one additional offset to induce that time offset, for example
x, x[200,002], x[400,003], x[600,004]....
(Or equally one less if your sampling clock increased in frequency 5ppm).
One very simple approach to do this is to use linear interpolation to determine the value of each new sample given the adjacent two samples, or curve fitting to more adjacent samples using higher order polynomials which is what is done with detailed filter design approaches. If your waveform is sufficiently oversampled to start with, then a simple linear interpolation approach may be more than sufficient. (To assess this you could measure the error vector magnitude of the mid sample using linear interpolation compared to a resample by 2 and see if that error is less than your target SNR requirement).
With a 5ppm lower clock the new samples would be:
$$y[n]=x[n] + mod(n,200,000)(x[n+1]-x[n])/200000$$
For n as the index of the original N sample waveform 0 to N-1
For example, If the first 4 samples were
2, 5, 8, 11
First sample: 2
Second sample: $5+ 1(8-5)/200,000$
Third sample: $8+ 2(11-8)/200,000$