Há uma biblioteca chamada libfaketime
(também no GitHub ) que permite fazer com que o sistema informe um determinado tempo para sua aplicação. Você pode ter o sistema informando um horário fixo durante a execução do programa ou iniciar o relógio em um horário específico (por exemplo, 01:59:30). Basicamente, você conecta a biblioteca faketime à imagem em memória do programa através do carregador de biblioteca e captura e manipula de maneira própria todas as chamadas do sistema relacionadas à hora do sistema. Não exatamente altera a hora do sistema, mas muda o horário relatado para sua aplicação específica sem afetar qualquer outra coisa que esteja sendo executada, o que é provavelmente o que você realmente é depois (caso contrário, não vejo razão para não apenas mudar a hora global do sistema).
Há várias variantes possíveis de como usá-lo, mas parece que Mudar a hora em que um processo pensa que é com o libfaketime tem uma listagem bem completa junto com um código de amostra para testá-los. O Google também deve descobrir alguns exemplos, já que você sabe o que pesquisar.
Parece que ele não está disponível pré-empacotado através dos repositórios do RHEL, mas, por exemplo, o Debian o fornece sob o nome do pacote faketime
. Ele também olha para frente para construir a partir do código-fonte (aparentemente nem precisa de uma etapa configure
ou algo assim).