Hola yeku:
Si quieres que suceda algo con algún retraso, tienes que poner ese algo en una función (o directamente) y usar esa función como primer argumento en un setTimeout, y como segundo argumento el retardo en milisegundos...
por ejemplo:
<body onload="ventana = window.open('popup.html'); setTimeout('ventana.close()', 2000)" ...>
Saludos