Move object from A to B around Zero

How do I get an object to move from it’s current position A (transform.position) towards position B (a Transform variable) moving around Zero (Vector3.Zero)?

Here’s a mock up of what I have in mind:
alt text

Think of it like an airplane flying from one city to another across the surface of a sphere, the sphere is placed in zero.

Help will be much appreciated. Many thanks in advance.

Hey

You can slerp the object around the planet…

    public Transform _origin;
    public Transform _destination;
    public Transform _planet;
    public float journeyTime = 1.0F;
    private float startTime;

    void Start() {
        startTime = Time.time;
    }
    
    void Update() {
        Vector3 center = _planet.transform.position;
        center -= new Vector3(0, 1, 0);
        Vector3 riseRelCenter = _origin.position - center;
        Vector3 setRelCenter = _destination.position - center;
        float fracComplete = (Time.time - startTime) / journeyTime;
        transform.position = Vector3.Slerp(riseRelCenter, setRelCenter, fracComplete);
        transform.position += center;
    }