Using find command to process file names with spaces

To process the output of find with a command, try as follows:

find . -print0 | while read -d $'\0' file
do
  echo -v "$file"
done

Try to copy files to /tmp with spaces in a filename using find command and shell pipes:

find . -print0 | while read -d $'\0' file; do cp -v "$file" /tmp; done

Or

find . | while read -r file
do
  echo "$file"
done
Reads Man Page

read

Read a line from standard input

Syntax
      read [-ers] [-a aname] [-p prompt] [-t timeout]
              [-n nchars] [-d delim] [name...]

Options

  -a aname
    The words are assigned to sequential indices of the array variable aname,
    starting at 0. All elements are removed from aname before the assignment.
    Other name arguments are ignored.

  -d delim
    The first character of delim is used to terminate the input line,
    rather than newline.

  -e
    If the standard input is coming from a terminal, Readline is used
    to obtain the line.

  -n nchars
    read returns after reading nchars characters rather
    than waiting for a complete line of input.

  -p prompt
    Display prompt, without a trailing newline, before attempting
    to read any input. The prompt is displayed only if input is coming from a
    terminal.

  -r
    If this option is given, backslash does not act as an escape character.
    The backslash is considered to be part of the line. In particular, a backslash-newline
    pair may not be used as a line continuation. 

  -s
    Silent mode. If input is coming from a terminal, characters are not echoed.

  -t timeout
    Cause read to time out and return failure if a complete line
    of input is not read within timeout seconds. This option has no
    effect if read is not reading input from the terminal or a pipe.