You are testing a new operating system. The developers have attempted to re-implement some of the core UNIX commands. This involves the commands cp (copy a file) and wc (count the number of lines / words / characters in a file).
You are tasked with testing these implementations. The specifications according to which the programs have been implemented are provided below.
CP(1) BSD General Commands Manual CP(1)
NAME cp -- copy files
SYNOPSIS cp [-R] [-f | -n] source_file target_file cp [-R] [-f | -n] source_file ... target_directory
In the first synopsis form, the cp utility copies the contents of the source_file to the target_file. In the second synopsis form, the contents of each named source_file is copied to the destination target_directory. The names of the files themselves are not changed. If cp detects an attempt to copy a file to itself, the copy will fail.
The following options are available:
-f If the destination file cannot be opened, remove it and create a new file, without prompting for confirmation regardless of its permissions. (The -f option overrides any previous -n option.)
The target file is not unlinked before the copy. Thus, any existing access rights will be retained