Let us repeat the properties for a hash function:
- Given h(x) but not x, the adversary can't compute x in polynomial time but a negligible chance (preimage-resistance).
- Given a pair x and h(x), the adversary can't compute y such that h(y) = h(x) in polynomial time but a negligible chance (second-preimage resistance).
- The adversary can't compute any x and y such that h(y) = h(x) in polynomial time but a negligible chance (collision resistance).
- Given x, the adversary can always compute h(x) in polynomial time.
Now let us assume H a function which is defined as an oracle which computes $h(x||x_i)$ at the ith query of H. If H is a pseudorandom generator, then the distribution $(t_1, ..., t_n)$ of n queries of H must be indistinguishable from the distribution $(r_1, ..., r_n)$ of n queries of a real random function R.
Let us assume x and $x_1, ..., x_n$ are known and fixed. Now we run into our first problem. Since both x and $x_1, ..., x_n$ is known to the distinguisher, the distinguisher can simply compute $z := h(x||x_1)$ himself and then can check if $y_1$ of the distribution $(y_1, ..., y_n)$ (which is either generated by H or by R) is equal to $z$ to see if the distribution is from H or from R.
Now assume x is chosen randomly given a security parameter $1^n$ and $x_1,..., x_n$ is still fixed and known to the distinguisher. On first sight, one would believe that since the distinguisher can't compute $x||x_i$ given $h(x||x_i)$ in polynomial time but a negligible chance any hash would be a pseudorandom generator. However, this is doesn't need to be the case: Let us assume $h(x||k) := h(x) \oplus h(k)$ holds if the length of x is higher than the length of k. Then a distinguisher can distinguish by computing $z := h(x_1) \oplus h(x_2)$ and check if $z$ is equal to $y_1 \oplus y_2$ from the given distribution $(y_1, ..., y_n)$ to distinguish H and R.
Please note that the strategy with XOR above doesn't work for most used practical used hashes like SHA256 since the assumption doesn't hold. However, you must be careful to choose a hash function which is resistant against such attacks (for example SHA256 is weak against length message attacks which might also work).
A strategy which could work is to choose a random seed (which is not publicly known) and use a part of the output of the hash which is not used as the actual output as the next input (but be careful to use a large enough output length then!).