When confronted with this problem, what I often end up doing is creating a start-up signal which precedes the filtered signal.
For a low pass filter that is a relatively easy task, but depends on your original signal. My initial attempt would be to reflect part of the signal with respect to the origin:
[b,a] = butter(5,.7);
N = 50; % change this to suit your needs
yNew = filtfilt(b,a,[y(N:-1:1);y];
yNew = yNew(N+1:end);
This ensures that the start-up is minimal, and you can "hit the ground running".