I added shrinkwrap constraint to an yellow sphere which is a Child to an empty object, with an arrow constrained to it, as a child object. The empty object follows along a sinusoidal circular-curve.
Here is an file for you to demonstrate this with. https://drive.google.com/file/d/1LFY7B84YFaYMNpntVDsAWe4lqTM3_Msh/view?usp=sharing