Os dois últimos comandos do seu script:
final=$(ps -p $newpid -o %cpu=)
$final
O primeiro executará o comando ps e armazenará sua saída na variável final . O segundo comando solicitará que o shell use a saída de ps como um comando, o que falhará.
Estas duas linhas devem ser substituídas pela linha única
ps -p $newpid -o %cpu=
No entanto, o script comete erros antes para chegar à última linha. O erro indica que você está chamando ps no caminho errado. Talvez essa implementação ps específica não entenda -o ou o formato ( %cpu= ) esteja incorreto.
Tente usar -o pcpu= ou -o pcpu .