The only functional part of the accepted answer is creating trapfunc and passing the parameter to it; that alone fixes $_ without doing anything at all with $1.
$_
$1
trapfunc() { date; } trap 'trapfunc "$_"' DEBUG