This general topic has been covered in Assigning values to a list of variable names and the questions linked below it.
Within the normal syntax of Mathematica you will need a Hold or similar device to achieve your objective. Depending on your actual use you will need to select between a number of different methods and compromises.
Understand that {a,b,c} cannot be returned raw if a, b, and c have values assigned or you will see the values instead. To illustrate, you can make the assignments like this:
ClearAll[a, b, c, list1, list2];
list1 = {a, b, c};
list2 = {10, 20, 30};
Evaluate[list1] = list2;
And you can confirm them:
?list1
Global`list1
list1={a,b,c}
?a
Global`a
a=10
But when you retrieve the value of list1 you get {10, 20, 30} because a, b, and c evaluate.
Previously I wrote step to conveniently recover such intermediate definitions.
step[list1]
{a, b, c}
This is wrapped in HoldForm to display these symbols without further evaluation, as can be seen with:
step[list1] // InputForm
HoldForm[{a, b, c}]