Se você estiver em um Unix que tenha um comando de data decente e esteja usando o bash, você pode usar o formato% s para calcular o tempo.
sleep $(( $(date -j 1700 +%s) - $(date +%s) ))
(1700 sendo 5PM e -j dizendo a data para não definir a data)