A straightforward way would be using recursion and memoization. An example:
n = 5;
c = RandomReal[NormalDistribution[], n]/100;
Clear[x]
Array[(x[#] = RandomReal[NormalDistribution[]]) &, n]; (* Initial conditions *)
x[t_Integer] /; t > n := x[t] = Total[c*Table[x[i]c.Table[x[i], {i, t - 1, t - n, -1}]]] +
RandomReal[NormalDistribution[]]
ListLinePlot[x /@ Range[300]]