You can do truncation like this:
truncated = max(original, -1);
but note that your results will not be from a normal distribution any more.
Another way to ensure the values are all -1 or greater would be to replace the bad ones with a new random sample, repeating until all the values are ok. Whatever method you use, the results will not be from a normal distribution.
For setting the mean and variance, see Example 1 in the documentation for randn. Whether this is sufficient depends on whether you want to set the mean and variance before or after the truncation.
For setting the cross-correlations, I guess that one applies a matrix transform to a matrix of independently-generated values - you should be able to find a reference to this.
