Eu suspeito que você quer dizer que você deseja que o nome do arquivo seja incluído no uuencode output:
begin 644 path/to/the/file.pdf.Z
%=&5S='H'
'
end
para não incluir o path/to/the .
Para isso, você deseja que o segundo argumento transmitido para uuencode seja o nome base. Para isso você precisaria fazer como:
find "$dir" -ctime -1 -type f -name "abc*pdf*" -exec sh -c '
for file do
uuencode "$file" "$(basename "$file")"
done' sh {} +
Ou se o seu find suportar -execdir :
find "$dir" -ctime -1 -type f -name "abc*pdf*" -execdir uuencode {} {} \;
Se o seu find suportou -printf , você poderia ter feito isso com:
find "$dir" -ctime -1 -type f -name "abc*pdf*" -printf '%pbegin 644 path/to/the/file.pdf.Z
%=&5S='H'
'
end
%ffind "$dir" -ctime -1 -type f -name "abc*pdf*" -exec sh -c '
for file do
uuencode "$file" "$(basename "$file")"
done' sh {} +
' |
xargs -r0n2 uuencode