how could add to a list ,a gameobject that is in another list?

I made this code and it remove gameObjects randomly from list 1, but how could I add these gameObjects to list 2?

public void RemoveFoodsRandomly(){
	myList.RemoveAt (UnityEngine.Random.Range(0,counter));
//	 myList2.Add ();



You do not seem to like my method.
Using this method, you need to declare two lists, one containing the enabled gameobject, and one containing the disabled gameobject.

The list merely stores a reference to your gameobject, unless any variables refer to the gameobject, it will be removed from memory by garbage collection. So before deleting it from the list, you just need to add a reference.

public void RemoveFoodsRandomly()
     int index=UnityEngine.Random.Range(0,myList.Count-1);
     GameObject obj=myList[index];
     myList.RemoveAt (index);
     myList2.Add (obj);

You also do not need a counter counter variable.
MyList.Count will return the number of gameobjects contained in the list, but when indexed, it starts at 0, so subtracting 1.