The reason this occurs is because bash actually expands the asterisk to every matching file, producing a very long command line.




mv

Below commands enables you to copy files to $target_dir with no restriction

echo {$tmpFolder}/* | xargs mv -t {$target_dir}


Add prefix as "nice -n10" as below if you do it in the server and want to keep working other process

echo {$tmpFolder}/* | nice -n10 xargs mv -t {$target_dir}


rm

Delete all the files including directories

find . -name "*" -print0 | xargs -0 rm -r