It's too late in the day for me to do math (it doesn't come as naturally to me as I'd like

), but you could make use of CBA and BIS functions thus (if in doubt, leave the real math to people who can do it

):
_initial = getPosATL player;
_trigger = getPosATL yourTriggerName;
_direction = [_initial, _trigger] call BIS_fnc_relativeDirTo;
_vector = [5, _direction, 0] call CBA_fnc_polar2vect;
_position = [_initial, _vector] call CBA_fnc_vectAdd;
player setPosATL _position;
player setDir _direction;
I've not tested that, but that should take them 5 metres towards the centre. If not, then please do blame my late night attempts at comprehending questions and providing answers
