how to make object stay infront of person

my fps player is able to pick objects up, but I'm having trouble getting them to stay in front of his face. I don't want to parent the objects. I can get it to stay in one place in relation to the person, but when the person rotates it stays there. this is because I'm using code like this:

var target : Transform;
function Update () {
    if (!target)
        return;
    transform.position.x = target.position.x;
    transform.position.z = target.position.z+2;
    transform.position.y = target.position.y;
}

If you don't want to use parenting, you could do it this way, for example (I'm assuming that 'target' is the player):

transform.position = target.position + target.forward * 2;

Or like this (guessing at the UnityScript syntax here):

transform.position = target.TransformPoint(Vector3(0, 0, 2));