Pass List para o método sem modificar a lista original

É a única maneira de passar uma lista para um método e editar essa lista, sem modificar a lista origina

class CopyTest1
{
    List<int> _myList = new List<int>();
    public CopyTest1(List<int> l)
    {
        foreach (int num in l)
        {
            _myList.Add(num);
        }
        _myList.RemoveAt(0); // no effect on original List
    }
}