Hola:
Si, si... realmente rara la pregunta... yo tampoco me entero, pero, si quieres que no se use una variable local en vez de la local, podrías llamarla en el propio comando... pero no te serviría setInterval... tal vez setTimeout... por ejemplo...
setTimeout("timer1(" + tm + ")", retardo);
Aunque la declaración de la función sería distinta...
Saludos