Not sure I understand your doubts, so please correct me should my interpretation be wrong.
Generally, you need to differentiate between positional parameters ($1, $2, ...) of the parent shell, and those that the subshell will see. Whatever you see in you above command line is the parent shell. So -
1.- Yes if the parent shell's first positional parameter holds a starting directory.
2.- the subshell started by sh will have a concoction of parent and sub shell's pos. parameters, depending on where and how you put single and / or double quotes. As this is difficult to tell from here, I'd start with a small subset of the commands and parameters to find out.
Definitely NOT. shift ist the (builtin) command to shift positional parameters, sh will run a (bourne) shell as you did it in the xargs parameters.
Can someone give a source to start digging on this?
Furthermore. Can someone clarify the following:
$0 $1 $2 ... After the sh -c
$0: ?????
$1: name of the log file Why ??? From where is taken
$2: htmlA file
$3: htmlB file
...