Isto não está relacionado com o cpulimit. Executar a.out
diretamente na linha de comando também não funcionaria. Quando você executa um programa sem especificar nenhum componente do diretório, o programa é pesquisado no PATH . O diretório atual normalmente não está no PATH, então você precisa fornecer uma indicação de diretório explícito.
cpulimit -l 40 -- ./a.out start
Também é geralmente uma boa prática finalizar as opções com "-", portanto, cpulimit, ou qualquer comando, não interpretará errado o que vier depois disso, como uma opção, quando fizer parte de um nome de arquivo ou uma opção para um programa diferente.