Function copy-list is defined in library cl.el in older Emacs releases. You'd need to load that library before trying to call the function.
But in recent releases you need to load library cl-lib.el instead, and the function is now called cl-copy-list.
You don't say what release you're using. A guess is that you're using a recent release, where copy-list is no longer even an alias for cl-copy-list. In any case, unless you have a very old release you need to load cl-lib.el: (require 'cl-lib).
To find the package where it's defined, try C-h f copy-list TAB TAB, then choose cl-copy-list. In buffer *Help* you then see this, which tells you that function is in library cl-lib.el:
cl-copy-listis a byte-compiled Lisp function incl-lib.el.(cl-copy-list LIST)
Return a copy of
LIST, which may be a dotted list.The elements of
LISTare not copied, just the list structure itself.