You can't write ASCII NUL characters from portable shell, that's why this task cannot be done correctly (for all possible filenames) from shell. You need to use tools like find(1)
So, no, it's not easy, at least not if you want to handle all cases without wreaking havoc.