I believe you can do by webservice also.
However more in dynamic way, there are two web service like lists.asmx and
copy.asmx. I dont have hands-on similar kind of problem. But 100% sure it can be
resolved by using web services or Object Model of Share Point.