shallow copy? No, there isn't. But why do you need a shallow copy for quicksort? You can better use ArrayList objects or even arrays with your quicksort algo I think and simply re-add the end result to the collection.
It should work without problems when the collection isn't part of an entity (i.e. thus not not customer.Orders). First unbind the collection from a bound grid, sort the entities in a separate array, clear the collection, re-add the objects, re-bind the collection.
I've added to the todo the necessity for a generic approach to this problem.