以下のようなことを実行するにはどうすればいいのでしょうか?

(setf a '(+ 1 2))
(setf b '(+ 3 4))
(setf c '(- b a))

(myfunc c)
4

あるリストファイルを読んで内部にツリー構造をつくり、
それを一気に実行することを望んでいます。
具体的には、内部で以下のように展開してから実行したいと
思っています。

(eval '(+ (+ 1 2) (+ 3 4)))

何かヒントだけでも頂けたら嬉しいです。どうぞよろしくお願い致します。
m(_ _)m