WrapHold::usage = "WrapHold[expr] wraps Hold[] around the head
and the elements of expr without evaluating them."

SetAttributes[WrapHold, HoldAll]

WrapHold[expr_] :=
Map[ Hold, MapAt[Hold, Hold[expr], {1, 0}], {2}] [[1]]