Output of IIR filter not matching the frequency response - Proximity to fs/4
From the octave documentation on cheby1.m you can see that the cut-off frequency in radians is given by pi*Wc, where Wc is the cut-off frequency input argument of cheby1.m. So for a function call [b,a] = cheby1(n,Rp,Wc), you should test the filter's gain at the cut-off frequency with an input sequence cos(Wc*pi*n). Furthermore, choose a sufficiently long input signal so that you can observe the filter's steady-state behavior.
Apart from that it's a matter of sampling the time domain function. Note that the samples will generally not occur at the maxima of the sinusoid. I.e., the maximum magnitude of the output signal
$$y[n]=|H(\omega_c)|\cos(n\omega_c+\phi(\omega_c))$$
will not necessarily attain its theoretical maximum value $|H(\omega_c)|$.