Use o cron porque é uma prática melhor e mais padrão. Pelo menos se isso é algo que será executado regularmente (não apenas algo que você corrigiu em um minuto). cron
é uma maneira mais limpa e mais padronizada. Também é melhor porque ele executa o shell desconectado de um terminal - não há problema com término acidental e dependências em outros processos.
Em relação aos recursos:
CPU: Ambos os processos dormem - quando eles dormem, eles não perdem CPU. cron
acorda com mais frequência para verificar as coisas, mas faz isso de qualquer maneira (não mais para o seu processo). E isso é carga insignificante, a maioria dos daemons acordam ocasionalmente.
Memória: Você provavelmente tem cron
em execução, independentemente desse processo, portanto, isso não é uma sobrecarga. No entanto, o cron só iniciará o shell quando o script for chamado, enquanto seu script permanecerá carregado na memória (um processo bash com o ambiente - alguns kilobytes, a menos que você esteja carregando tudo nas variáveis do shell).
Em resumo, para recursos, não importa.