Moving bones of a model through code

Hi,
Lets see if I can explain myself clearly:
I have a rig arm with four bones, a root bone which is at the base, a tip bone at the top and two middle bones. What I want to do is to move the middle bones as if they were following the tip bone so if I move the tip bone diagonally to my up and right position of the screen my middle bones will follow in a normal looking way so that my arm looks as is extending diagonally, a and the game is a 2d sidescroller so I don’t have to worry about z position. Right now I have the movement in the y axis working somewhat as I want with this code:

//stores the bone that is going to be pulled by this one
public GameObject previousBone;
	
//when true this allows bone movement, this is for testing purposes
public bool boneMoving = false;
	
//stores the bonecontroller script from the other bone
BoneController control;

//diference in distances when the previous bone will start moving
public float yDif = 1f;

//percentage of the distance the previous bone will move
public float yDiv = .8f;

void Start ()
{
  control=previousBone.transform.GetComponent<BoneController>();
}

void Update ()
	
{

   if(boneMoving)
   {
	if(this.transform.position.y > previousBone.transform.position.y + yDif)
	{
	   previousBone.transform.position = new Vector3(this.transform.position.x,this.transform.position.y * yDiv, this.transform.position.z);
	}
	else if(this.transform.position.y < previousBone.transform.position.y + yDif)
	{
	   previousBone.transform.position = new Vector3(this.transform.position.x, this.transform.position.y * yDiv, this.transform.position.z);
	}
			
	if(control != null)
	{
	   control.boneMoving = true;	
	}
			
    }
    else
    {
	if(control != null)
	{
	   control.boneMoving = false;	
	}
			
    }
}

This is only for vertical movement but I can’t seem to figure out diagonal movement any suggestions are more than welcome thanks.

I think that what you are looking for is inverse kinematics (IK). Unfortunately, I can not help you much with that, but you can search for some tutorials on IK on YouTube or here in the forums.